.TH "display-directx" 7 "2005-10-01" "libggi-current" GGI
.SH NAME
\fBdisplay-directx\fR : DirectX (WIN32)
.SH SYNOPSIS
.nb
.nf
display-directx: [ [-inwin=<winid>|root] | [-fullscreen] ]
                 [ [-keepcursor] | [-nocursor] ] [-noinput]
                 [-physz=<sizex>,<sizey>[dpi]]
.fi

.SH DESCRIPTION
Used for Win32 DirectX port of libGGI.
.SH OPTIONS
.TP
\f(CW-inwin=<winid>|root\fR
Run in already-existing window with id \fIwinid\fR.  This can be   
used to embed a LibGGI application into a DirectX application. The
value should be a DirectX window ID expressed as a decimal,
hexadecimal or octal number in C syntax. The special string "root"
will cause the application to run in the root window. Note that in
the root window, you may need to explicitly select a LibGII input
source using the \fBGGI_INPUT\fR environment variable as Windows will
absorb all events sent to the window.
When using the root window other features (like direct framebuffer
access and video hardware mode selection) may be available which
are not available when the application is running in a normal window.

.TP
\f(CW-fullscreen\fR
If mode switching is required for the mode, this option makes it
possible to set it. Superior to \fI-inwin=root\fR.

.TP
\f(CW-nocursor\fR, \f(CW-keepcursor\fR
Normal behavior of display-directx is to create a small dot mouse
cursor pixmap which is visible when the mouse is positioned over the
window containing the visual. With the former option, the DirectX
mouse cursor will be invisible when it is over the visual, with the
latter, the cursor from the root window is used unaltered.  If both
options are supplied, the latter takes precedence.
Note, that none of them works with the -inwin option.

.TP
\f(CW-noinput\fR
DirectX events sent to the window are not captured and merged with
any other LibGII input sources. This allows one to take input from
raw devices without receiving duplicate events should DirectX also
be configured to use the device.

.TP
\f(CW-physz=<sizex>,<sizey>[dpi]\fR
This option will override the physical screen size reported by the
DirectX, which affects applications which wish to remain resolution
independent.  \fIsizex\fR,:p:\fBsizey\fR are the x,y size of the entire
screen (not just the DirectX window containing the visual) in
millimeters, unless the optional \f(CWdpi\fR string is affixed, in
which case, they represent resolution in dots-per-inch. Yes, there
are two equals signs there, for reasons of compatibility with
other targets.

.PP
.SH FEATURES
.IP \(bu 4
DirectBuffer
.IP \(bu 4
Multiple frames (up to 16)
.IP \(bu 4
Panning
.PP
.SH BUGS
.IP \(bu 4
On palettized windowed modes (i.e. not with -fullscreen) the first and
last 10 entries of the palette are reserved by Windows and will not
behave correctly. Even with the -fullscreen option, palettized modes
can have problems with the first and the last entry, depending on what
version of Windows is running.
.IP \(bu 4
Can not draw directly in video ram, instead uses a intermediate buffer
that is copied to video ram at regular intervals.
.IP \(bu 4
The rate at which the above copy happens is fixed at 30Hz, and cannot
be controlled by the user. The environment variable \f(CWMANSYNC_FPS\fR
should probably be used.
.IP \(bu 4
Does not fall back to fullscreen if -fullscreen is not specified. That
should ideally happen when the requested graphics mode is incompatible
with the current Windows graphics mode and a matching fullscreen mode
is there.
.PP
